package com.tiku.service;

import com.tiku.common.ResultJson;
import com.tiku.controller.TO.UserParamTO;
import com.tiku.controller.TO.UserRegisterTo;
import com.tiku.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

/**
 *
 */
public interface UserInfoService extends IService<UserInfo> {

    ResultJson login(UserParamTO userParamTO);

    /**
     * 注册
     * @param userRegisterTo  手机号  密码 验证码
     * @return
     */
    ResultJson register(UserRegisterTo userRegisterTo);

    /**
     * 发送验证码
     * @param phone 手机号
     * @return
     */
    ResultJson send(String phone,String type);

    /**
     * 修改密码
     * @param userRegisterTo 手机号 新密码 验证码
     * @return
     */
    ResultJson updatePwd(UserRegisterTo userRegisterTo);

    /**
     * 通过手机号 获取用户信息
     * @param phone
     * @return
     */
    UserInfo getUserInfoByPhone(String phone);

    /**
     * 更新头像
     * @param avatarFile
     * @return
     */
    ResultJson upAvatar(MultipartFile avatarFile);

    /**
     * 获取头像
     * @param img  图片路径
     * @return base64
     */
    ResultJson getAvatar(String img);

    /**
     * 修改性别
     * @param sex  0为女 1为男
     * @return
     */
    ResultJson upSex(Integer sex);

    /**
     * 修改昵称
     * @param nickName
     * @return
     */
    ResultJson upNickName(String nickName);

    /**
     * 获取用户基本信息  性别  脱敏手机号 用户名
     * @return
     */
    ResultJson getUserParam();

    ResultJson updatePhone(String phone, String code);


    ResultJson updateToDay(String day);
}
